import axios from 'axios'
import { getToken, removeToken } from './token'
import { history } from './history'
// axios.defaults.baseURL='http://geek.itheima.net/v1_0/'

// 创建axios实例,通过返回值拿到这个实例对象
const http = axios.create({
  // 接口的公共路径
  baseURL: 'http://geek.itheima.net/v1_0/',
  // 超时时间
  timeout: 5000,
})

// 添加axios的请求拦截器  统一添加token
http.interceptors.request.use(config => {
  // 如果是登录接口不添加token
  console.log('config', config)
  if (config.url !== '/authorizations') {
    config.headers.Authorization = `Bearer ${getToken()}`
  }
  // 切记要返回
  return config
})

// axios的响应拦截器
http.interceptors.response.use(
  request => {
    return request
  },
  error => {
    console.dir(error)
    if (error.response.status === 401) {
      console.log('跳转到登录界面')
      // 移除token
      removeToken()
      history.push('/login')
    }
    return error
  }
)
export { http }
